/*
 * © 2024 huayunliufeng保留所有权利, 依据MIT许可证发布。
 * 请勿更改或删除版权声明或此文件头。
 * 此代码是免费软件, 您可以重新分发和/或修改它。
 * 开源是希望它有用, 但不对代码做任何保证。
 * 如有疑问请联系: huayunliufeng@163.com
 */

package io.github.huayunliufeng.common.intface;

import java.util.Objects;

/**
 * 执行两个入参无返回值的方法.
 *
 * @author zhongq
 * @datetime 2024/3/27 9:36
 */
@FunctionalInterface
public interface TwoVoidFunction<T, U> {
    void accept(T t, U u) throws Exception;

    default TwoVoidFunction<T, U> andThen(TwoVoidFunction<? super T, ? super U> after) {
        Objects.requireNonNull(after);
        return (T t, U u) -> {
            accept(t, u);
            after.accept(t, u);
        };
    }
}
